package com.gengzp.system.service;

import com.gengzp.common.model.pagination.resp.PaginationResult;
import com.gengzp.common.model.user.req.EditSysUserReq;
import com.gengzp.common.model.user.req.PageSysUserReq;
import com.gengzp.common.model.user.resp.PageSysUserResp;
import com.gengzp.common.model.user.resp.SearchSysUserResp;

/**
 * @ClassName IUserService
 * @Description 用户模块服务层接口
 * @Author gengzp
 * @Date 2025/5/11 3:31
 */
public interface ISysUserService {

    /**
     * 编辑系统用户信息
     *
     * @param req 编辑系统用户信息请求参数
     */
    void editSysUser(EditSysUserReq req);

    /**
     * 根据用户id删除用户信息
     *
     * @param userId 用户id
     */
    void removeSysUserById(Long userId);

    /**
     * 分页查询系统用户
     *
     * @param req 分页查询用户请求参数
     * @return 分页查询用户返回结果
     */
    PaginationResult<PageSysUserResp> pageQuerySysUser(PageSysUserReq req);

    /**
     * 根据用户id查询系统用户信息
     *
     * @param userId 用户id
     * @return 系统用户
     */
    SearchSysUserResp searchSysUserById(Long userId);

}
